High density storage technologies, such as NAND flash memory, have given rise to processors designed to interface with such storage devices. For example, a “NAND” type processor, can have an interface designed to communicate with NAND storage devices according to command and address data having a predetermined sequence and format.
In most cases, the physical arrangement of storage cells in a NAND flash memory device is not conducive to rapid or completely random access. As a result, NAND devices typically load data into an onboard buffer, not formed from NAND flash memory cells, for subsequent read out (in the case of a read command), or subsequent programming into such NAND flash memory cells (in the case of a program command). Typically, the onboard buffer is one or more page buffers for storing a page of data. Conventionally, a page can be as small as 512 bytes or as large as 2048 bytes (excluding error correction data). In a NAND flash memory device, a page is the minimum accessible data size that can be transferred between a page buffer and the corresponding NAND memory cell array.
While NAND processors can provide efficient access to NAND based storage devices, such a particular interface type can limit the applications for such processors to only accessing NAND storage devices, or specialized devices closely associated with NAND storage devices.
One approach that can provide some additional functionality to a NAND type interface is the extension to the Secure Digital (SD) interface, called SD input/output (SDIO). A device manufactured according to the SDIO standard can allow an SDIO circuit card to provide input/output (I/O) functions in addition to those provided by NAND storage when attached to an SDIO aware host. One example of a conventional SDIO system is shown in FIG. 25, and designated by the general reference character 2500. Conventional system 2500 can include an SD host controller 2502 that can be connected to either NAND based SD Memory Cards 2504 or SDIO Cards 2506, by way of SD host connector 2508. A host controller 2502 can access SD cards 2502 utilizing SD memory card driver 2510 and SD memory card applications 2512 accessible via a common SD bus driver 2514. Similarly, host controller 2502 can access non-storage functions of SDIO cards 2506 utilizing SDIO card driver 2516 and SDIO card applications 2518, also accessible via a common SD bus driver 2514.
A conventional approach like that of FIG. 25, can allow an SD controller 2502 to access functions in addition to storage. However, such additional functions are enabled by ensuring all devices comply with a same standard.